#pragma once

#include "Circular.h"
#include "Position.h"
#include "Texture.h"
#include "Element.h"
#include "color.h"
#include "Ball.h"

class Frog : public Circular, public Element {
	
	/*----------------Atributos-------------------------*/
	private: Position *position;
	
	private: Texture *texture;
	
	private: float radius;
	
	private: Color * elementColor;

	private: Color * lineColor;

	private: Ball* mainBall;

	private: Ball* secondaryBall;
	
	/*--------------Constructores----------------------*/
	public: Frog();

	public: Frog(Position *position);

	public: Frog(Position *position,float radius);

	public: Frog(Position *position,float radius,Color * color);

	public: Frog(Position *position,float radius,Texture *texture);
	
	/*-------------Getters & Setters--------------------*/

	public: virtual void setPosition(Position *position);

	public: virtual Position *getPosition();

	public: virtual Texture *getTexture();

	public: virtual void setTexture(Texture *texture);

	public: virtual Color * getElementColor();

	public: virtual void setElementColor(Color * color);

	public: virtual Color * getLineColor();

	public: virtual void setLineColor(Color * color);

	public: virtual void setRadius(float radius);

	public: virtual float getRadius();

	public: virtual float getMinXPos();
	
	public: virtual float getMinYPos();
	
	public: virtual float getMaxXPos();
	
	public: virtual float getMaxYPos();

	public: virtual Ball * getMainBall();
	public: virtual Ball * getSecondaryBall();
	public: virtual void setMainBall(Ball *ball);
	public: virtual void setSecondaryBall(Ball *ball);

	/*-------------Metodos------------------------------*/	
	public: virtual void draw();

	public: void reBuildBalls();

	public: void initialiceBalls();

	/*-----------------Destructor-----------------------*/	
	public:	virtual ~Frog();
};
